// 初始化云开发环境
wx.cloud.init({
    env: 'your_cloud_env_id',
    traceUser: true
})

Page({
    data: {
        templates: [], // 模板数据
        keyword: '' // 搜索关键词
    },

    onLoad(options) {
        // 获取传递过来的关键词
        this.setData({
            keyword: options.keyword || ''
        })
        this.loadTemplates()
    },

    // 加载模板数据
    loadTemplates() {
        wx.showLoading({
            title: '加载中...',
            mask: true
        })
        console.log(decodeURIComponent(this.data.keyword));

        wx.cloud.callFunction({
            name: 'searchTemplates',
            data: {
                keyword: decodeURIComponent(this.data.keyword)
            },
            config: {
                env: 'your_cloud_env_id'
            },
            success: res => {
                if (res.result && res.result.code === 0) {
                    this.setData({
                        templates: res.result.data || []
                    })
                }
            },
            fail: err => {
                console.error('获取模板数据失败:', err)
                wx.showToast({
                    title: '获取模板数据失败',
                    icon: 'none'
                })
            },
            complete: () => {
                wx.hideLoading()
            }
        })
    },

    // 返回上一页
    handleBack() {
        wx.navigateBack()
    },

    // 复制模板链接
    copyTemplateLink(e) {
        const { index } = e.currentTarget.dataset;
        const template = this.data.templates[index];

        wx.showActionSheet({
            itemList: ['复制PDF简历模板链接', '复制Word简历模板链接'],
            success(res) {
                const fileType = res.tapIndex === 0 ? 'pdf' : 'word'
                const fileID = fileType === 'pdf'
                    ? template.fileidPdf
                    : template.fileid

                if (!fileID) {
                    wx.showToast({
                        title: '模板文件不存在',
                        icon: 'none'
                    })
                    return
                }

                wx.showLoading({
                    title: '获取下载链接中...',
                    mask: true
                })

                wx.cloud.callFunction({
                    name: 'getResumeUrl',
                    data: { fileID },
                    success(res) {
                        if (res.result.code === 0) {
                            const url = res.result.data.url
                            wx.setClipboardData({
                                data: url,
                                success: () => {
                                    wx.showModal({
                                        title: '复制成功',
                                        content: `下载链接已复制到剪贴板\n\n链接2分钟后失效，请及时下载\n\n文件名: ${template.title}.${fileType}`,
                                        showCancel: false,
                                        confirmText: '知道了'
                                    })
                                },
                                fail: (err) => {
                                    wx.showToast({
                                        title: '复制失败: ' + (err.errMsg || '未知错误'),
                                        icon: 'none'
                                    })
                                }
                            })
                        } else {
                            wx.showToast({
                                title: res.result.message || '获取下载链接失败',
                                icon: 'none'
                            })
                        }
                    },
                    fail(err) {
                        wx.showToast({
                            title: '获取下载链接失败',
                            icon: 'none'
                        })
                        console.error(err)
                    },
                    complete() {
                        wx.hideLoading()
                    }
                })
            },
            fail(res) {
                console.log(res.errMsg)
            }
        })
    },

    // 跳转到模板详情页
    goToTemplateDetail(e) {
        try {
            const { index } = e.currentTarget.dataset;
            const template = this.data.templates[index];
            const fileidPdf = template.fileidPdf
            console.log('templateId:', template);

            if (!template) {
                throw new Error('模板数据不存在');
            }


            if (!fileidPdf) {
                throw new Error('模板ID不存在');
            }

            console.log('正在跳转到模板详情页，模板ID:', fileidPdf);
            this.openDocument(fileidPdf);

        } catch (err) {
            console.error('跳转出错:', err);
            wx.showToast({
                title: err.message || '跳转出错',
                icon: 'none'
            });
        }
    },

    // 打开文档
    openDocument(fileidPdf) {

        if (!fileidPdf) {
            this.handleError('缺少模板ID参数');
            return;
        }

        // 显示文档转换提示
        wx.showLoading({
            title: '文档转换中',
            mask: true
        });
        this.getTempFileURL(fileidPdf)

    },

    // 获取临时文件链接, 并打开文件
    getTempFileURL(fileidPdf) {
        if (!fileidPdf) {
            wx.hideLoading();
            console.error('缺少文件fileidPdf');
            return;
        }

        // 获取临时文件链接
        wx.cloud.getTempFileURL({
            fileList: [fileidPdf]
        }).then(res => {
            const fileInfo = res.fileList[0];
            if (fileInfo.tempFileURL) {
                const tempFileURL = fileInfo.tempFileURL;

                // 下载文件并打开
                wx.downloadFile({
                    url: tempFileURL,
                    success: function (res) {
                        const filePath = res.tempFilePath;
                        if (filePath) {
                            wx.openDocument({
                                filePath: filePath,
                                fileType: 'pdf',
                                success: function (res) {
                                    wx.hideLoading();
                                    console.log('打开文档成功');
                                },
                                fail: function (err) {
                                    wx.hideLoading();
                                    console.error('打开文档失败', err);
                                }
                            });
                        } else {
                            wx.hideLoading();
                            console.error('文件路径无效');
                        }
                    },
                    fail: function (err) {
                        wx.hideLoading();
                        console.error('下载失败', err);
                    }
                });
            } else {
                wx.hideLoading();
                console.error('获取临时链接失败', fileInfo);
            }
        }).catch(err => {
            wx.hideLoading();
            console.error('获取临时文件链接失败:', err);
        });


    },



})